package ai.yue.open.service.cd.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler;
import lombok.Data;

import java.util.List;

/**
 * Rancher配置
 *
 * @author yl-yue
 * @since  2023/2/7
 */
@Data
@TableName(value = "conf_rancher", autoResultMap = true)
public class ConfRancher {

    private static final long serialVersionUID = 1L;

    /**
     * 有序主键：单表时数据库自增、分布式时雪花自增
     */
    @TableId
    private Long id;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;

    /**
     * Rancher API地址：重新部署时使用
     */
    private String rancherApiUrl;

    /**
     * bearerToken值：调用 Rancher API所使用的bearerToken
     */
    private String bearerToken;

    /**
     * 匹配的命名空间：在Rancher中创建命名空间时，建议全局唯一，这样好用命名空间区分多个环境
     * - test1、test2、test3
     * - test、uat、prod
     */
    @TableField(typeHandler = Fastjson2TypeHandler.class)
    private List<String> namespaceList;

}
